package com.wuyou.simple;

import java.util.ArrayList;
import java.util.List;

/**
 * 1592. 重新排列单词间的空格
 */
public class ReorderSpaces {


    public static void main(String[] args) {
        ReorderSpaces reorderSpaces = new ReorderSpaces();
        String text = "  this   is  a sentence ";
        System.out.println();
        System.out.println(reorderSpaces.solution_1(text));
    }

    public String solution_1(String text) {
        int spaceCount = 0;
        List<String> list = new ArrayList<String>();
        String tempStr = "";
        List<Integer> indexList = new ArrayList<>();
        for (int i = 0; i < text.length(); i++) {
            if (" ".equals(text.charAt(i) + "")) {
                list.add(" ");
                if (!tempStr.equals("")) {
//                    spaceCount++;
                    list.add(tempStr);
                    indexList.add(list.size() - 1);
                    tempStr = "";
                }
            } else {
                tempStr += text.charAt(i) + "";
            }
            if (i == text.length() - 1 && !tempStr.equals("")) {
//                    spaceCount++;
                list.add(tempStr);
                tempStr = "";
                indexList.add(list.size() - 1);
            }
        }

        int a = indexList.size() > 1 ? indexList.size() - 1 : indexList.size();
        int num = (list.size() - indexList.size()) / a;
        int x = 0;
        for (int i = 0; i < indexList.size(); i++) {
            String str = list.get(indexList.get(i));
            list.set(indexList.get(i), " ");
            list.set(x, str);
            x += num + 1;
        }

        list.remove("");
        if (list.size() == 1) {
            String space = "";
            for (int i = 0; i < (text.length() - list.get(0).length()); i++) {
                space += " ";
            }
            return list.get(0) + space;
        }
        String resStr = "";
        for (int i = 0; i < list.size(); i++) {
            resStr += list.get(i);
        }
        return resStr;
    }
}
